package com.example.design.函数式编程.a函数对象化;

/**
 * 有形的函数。函数对象化
 */
public class Sample {

    static int add(int a, int b) {
        return a + b;
    }

    interface Lamdba {
        int calculate(int a, int b);
    }

    // 函数化为对象。
    // 好处是位置是变化的，想要调用这个方法，将这个对象传过去，接口的目的是为了用
    // 它来执行函数对象，此接口只能是函数式接口
    static Lamdba add = (a, b) -> a + b;

    public static void main(String[] args) {
        // 普通函数
        System.out.println(Sample.add(3, 5));
        // 函数对象化
        System.out.println(add.calculate(43, 5));
    }

}
